package com.itcc.controller.fun_handle;

import javax.servlet.http.HttpServletRequest;
import java.net.InetAddress;
import java.net.UnknownHostException;

import javax.servlet.http.Cookie;
import java.util.HashMap;
import java.util.Map;
public class HandleBusiness{

    //  获取本机ip
    public static String getLocalInetAddress() {
        try {
            InetAddress ip = InetAddress.getLocalHost();
            return ip.getHostAddress();
        } catch (UnknownHostException e) {
            e.getMessage();
            return null;
        }
    }

    /**
     * 从HttpServletRequest对象中获取所有cookie，并将它们放入一个Map中
     * 这个方法方便后续处理cookie，因为可以直接通过cookie的名称获取其值，而不需要手动遍历Cookie数组
     *
     * @param request HttpServletRequest对象，用于获取cookie信息
     * @return 包含所有cookie名称和值的Map如果请求中没有cookie，则返回空Map
     */
    public static Map<String, String> getAllCookies(HttpServletRequest request) {
        // 创建一个HashMap来存储cookie的名称和值
        Map<String, String> cookieMap = new HashMap<>();
        // 获取请求中的所有cookie
        Cookie[] cookies = request.getCookies();

        // 避免空指针异常
        if (cookies != null) {
            // 遍历所有cookie，将它们的名称和值放入Map中
            for (Cookie cookie : cookies) {
                cookieMap.put(cookie.getName(), cookie.getValue());
            }
        }

        // 返回包含所有cookie信息的Map
        return cookieMap;
    }


}
